"""

购物：
        1.用户的账户里有钱     account_money
        2.用户可推一个空的购物车进商场   shopping_car = []
        3.开始购物，将自己想要的商品添加购物车
        4.打印购物小条   print

程序和数据流程梳理分析：
	购前：
		钱要有：money
		有足够商品：列表来存储list
		有购物车：列表list

	购中：
		是否有这个商品：
			有
				钱够不够：
					够：
						添加到购物车！
						钱减去商品价格！
						恭喜，购买成功！您的卡余额还剩xxx
					不够：
						穷鬼，钱不够！请到其他超市购买！
			没有：
				没有这个商品，别瞎弄！
	购后：
		输入Q，q: 退出：
		打印购物小条！

"""

# print("欢迎光临，请采购商品。")
# username = 'Cheny'
# goods = ['盐','植物油','生姜','西湖龙井茶','精品大米','陈醋']   #商店货物
# goods_sale = [6.5,1.98,3,18,32,9]    #货物对应的单价
# account_money = 50   #用户账户有50元
# shopping_car = []   #定义一个空的购物车
#
# while True:
#     i = input("请输入要购买的商品名称(按Q/q退出购物):")
#     if i == 'Q' or i == 'q':
#         break
#     if i in goods:
#         idx = goods.index(i)
#         if account_money > goods_sale[idx]:
#             shopping_car.append(i)
#             account_money -= goods_sale[idx]
#             print('{}成功添加到购物车'.format(i))
#             print('恭喜，购买成功，账户余额还剩{}'.format(account_money))
#         else:
#             print('穷鬼，钱不够！请到其他超市购买！')
#     else:
#         print('没有这个商品，别瞎弄！')
#
# print('\n=====购物小条=======')
# print('用户:{}'.format(username))
# print('本次购物共:{}件'.format(len(shopping_car)))
# print('购物车中有:{}'.format(shopping_car))
# print('您的账户还剩下:{}'.format(account_money))
# print('欢迎下次光临!!!')
# print('=====================')



"""

1.现在用户在进商场之前需要从10张优惠券中，随机抽取一张优惠券。
      random.randint(10)
      
比如抽到一个空凋的8折优惠券，后面在购物的过程中，空凋就可以按照8折后的价格来购买。
2.优化购物小条的人性化打印。
	购物时间，卡余额，购物数量，购买总商品的价值。
3.添加退货功能。在购买途中，某个商品不要了，退回到购物架中！

"""

import random
import datetime
discount_ticiket = random.uniform(0.1,1)  # 随机抽取的优惠券优惠额度  1为1折，2为2折....
print('本次抽取的优惠额度为:{}'.format(discount_ticiket))


shopping_time = datetime.datetime.now().strftime("%Y-%m-%d %A %H:%M:%S")

print("欢迎光临，请采购商品。")
username = 'Cheny'
goods = ['盐','植物油','生姜','西湖龙井茶','精品大米','陈醋']   #商店货物
goods_sale = [6.5,1.98,3,18,32,9]    #货物对应的单价
account_money = 50   #用户账户有50元
shopping_car = []   #定义一个空的购物车


while True:
    i = input("请输入要购买的商品名称(按Q/q退出购物):")
    if i == 'Q' or i == 'q':
        print('结束购物。')
        break

    if i in goods:
        idx = goods.index(i)
        if account_money > goods_sale[idx]:
            shopping_car.append(i)
            after_discount_money = goods_sale[idx] - goods_sale[idx] * discount_ticiket
            account_money -= after_discount_money

            print('{}成功添加到购物车'.format(i))
            print('恭喜，购买成功，账户余额还剩{:.2f}'.format(account_money))
            return_goods = input('是否要退货？（输入yes/no）:')
            if return_goods == 'yes':
                return_goods_select = input('请输入要退的商品名称:')
                shopping_car.remove(i)
                print('{}成功移除购物车'.format(return_goods_select))
                account_money += after_discount_money
                print('退货成功，当前余额为:{:.2f}'.format(account_money))
            else:
                print('继续购物...')
        else:
            print('穷鬼，钱不够！请到其他超市购买！')
    else:
        print('没有这个商品，别瞎弄！')

print('\n=====购物小条=======')
print('用户:{}'.format(username))
print('当前购物时间:{}'.format(shopping_time))
print('本次购物共:{}件'.format(len(shopping_car)))
print('购物车中有:{}'.format(shopping_car))
# print('本次购物一共消费了{}'.format())
print('您的账户还剩下:{:.2f}'.format(account_money))
print('欢迎下次光临!!!')
print('=====================')